1. 9.2 k近邻算法api初步使用
1.1. 学习目标
- 了解sklearn工具的优点和包含内容
- 应用sklearn中的api实现KNN算法的简单使用
- 机器学习流程复习:
- 1.获取数据集
- 2.数据基本处理
- 3.特征工程
- 4.机器学习
- 5.模型评估
1.2. 1 Scikit-learn工具介绍
- Python语言的机器学习工具
- Scikit-learn包括许多知名的机器学习算法的实现
- Scikit-learn文档完善,容易上手,丰富的API
- 目前稳定版本0.19.1
1.2.1. 1.1 安装
pip3 install scikit-learn==0.19.1
安装好之后可以通过以下命令查看是否安装成功
import sklearn
- 注:安装scikit-learn需要Numpy, Scipy等库
1.2.2. 1.2 Scikit-learn包含的内容
- 分类、聚类、回归
- 特征工程
- 模型选择、调优
1.3. 2 K-近邻算法API
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)
- 参数介绍:
- n_neighbors:int,可选(默认= 5),k_neighbors查询默认使用的邻居数
1.4. 3 案例
1.4.1. 3.1 步骤分析
- 1.获取数据集
- 2.数据基本处理(该案例中省略)
- 3.特征工程(该案例中省略)
- 4.机器学习
- 5.模型评估(该案例中省略)
1.4.2. 3.2 代码过程
- 步骤一:导入模块
from sklearn.neighbors import KNeighborsClassifier
- 步骤二:构造数据集
- 数据集格式一:
x = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
- 数据集格式二:
x = [[39,0,31],[3,2,65],[2,3,55],[9,38,2],[8,34,17],[5,2,57],[21,17,5],[45,2,9]]
y = [0,1,2,2,2,2,1,1]
- 步骤三:机器学习 -- 模型训练
# 实例化API
estimator = KNeighborsClassifier(n_neighbors=1)
# 使用fit方法进行训练
estimator.fit(x, y)
estimator.predict([[1]])
# 数据集格式二对应的测试数据
# estimator.predict([[23,3,17]])
1.5. 4 小结
- sklearn的优势:
- 文档多,且规范
- 包含的算法多
- 实现起来容易
- knn中的api
- sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)
1.6. 5 问题思考
1.距离公式,除了欧式距离,还有哪些距离公式可以使用?
2.选取K值的大小?
3.api中其他参数的具体含义?